home *** CD-ROM | disk | FTP | other *** search
/ Ray Dream Studio 5 / Ray Dream.iso / pc / DreamSDK / Windows / INCLUDES / I3DEXIO.H < prev    next >
Encoding:
C/C++ Source or Header  |  1997-07-11  |  4.7 KB  |  106 lines

  1. /* $Id: I3DEXIO.H 1.5 1996/08/14 17:03:01 GREG Exp $ */
  2. /*****************************************************************************\
  3. *                                                                             *
  4. * I3DExIO.h                                                                                                      *
  5. *   I3DExImportFilter definition                                              *
  6. *   I3DExExportFilter definition                                              *
  7. *                                                                             *
  8. *           Copyright (c) 1995, Ray Dream, Inc. All rights reserved.          *
  9. *                                                                             *
  10. \*****************************************************************************/
  11.  
  12. #ifndef __I3DEXIO__
  13. #define __I3DEXIO__
  14.  
  15. #ifndef __I3DEX__
  16. #include "I3DEx.h"
  17. #endif
  18.  
  19. #ifndef __I3DSHSCN__
  20. #include "I3DShScn.h"
  21. #endif
  22.  
  23. struct IShRasterOffscreen;
  24.  
  25.  
  26. //****** Globally Unique Ids *************************************************
  27.  
  28. DEFINE_GUID(IID_I3DExImportFilter, 0xA58E2440L, 0x3A02, 0x101C, 0x88, 0x5F, 0x04, 0x02, 0x1C, 0x00, 0x70, 0x02);
  29. DEFINE_GUID(IID_I3DExExportFilter, 0xA75AF500L, 0x3A02, 0x101C, 0x88, 0x5F, 0x04, 0x02, 0x1C, 0x00, 0x70, 0x02);
  30.  
  31. /*****************************************************************************\
  32. *  I3DExImportFilter                                                          *
  33. *                                                                             *
  34. *  3D Importer                                                                *
  35. *                                                                             *
  36. \*****************************************************************************/
  37.  
  38. #undef  INTERFACE
  39. #define INTERFACE   I3DExImportFilter
  40.  
  41. DECLARE_INTERFACE_(I3DExImportFilter, I3DExDataExchanger) {
  42.     // IUnknown methods
  43.   STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  44.   STDMETHOD_(ULONG, AddRef) (THIS) PURE;
  45.   STDMETHOD_(ULONG, Release) (THIS) PURE;
  46.   
  47.     // I3DExtension methods
  48.     STDMETHOD_(I3DExtension*, Clone) (THIS) PURE;
  49.     STDMETHOD(ShellUtilitiesInit) (THIS_ IShUtilities* shellUtilities) PURE;
  50.  
  51.   // I3DExDataExchanger methods
  52.     STDMETHOD_(ExtensionDataMap*, GetExtensionDataMap) (THIS) PURE;
  53.     STDMETHOD_(void*, GetExtensionDataBuffer) (THIS) PURE;
  54.   STDMETHOD(ExtensionDataChanged) (THIS) PURE;
  55.   STDMETHOD(HandleEvent) (THIS_ ULONG sourceID) PURE;
  56.     STDMETHOD_(short, GetResID) (THIS) PURE;
  57.   
  58.   // I3DExImportFilter methods
  59.     STDMETHOD_(BOOLEAN, Prepare) (THIS_ char* fullPathName, I3DShScene* scene, I3DShTreeElement* fatherTree) PURE;
  60.     STDMETHOD_(BOOLEAN, WantsOptionDialog) (THIS) PURE;
  61.     STDMETHOD(DoImport) (THIS_ char* fullPathName, I3DShScene* scene, I3DShTreeElement* fatherTree) PURE;
  62.     STDMETHOD_(BOOLEAN, WantsTopScene) (THIS) PURE;
  63.     };
  64.  
  65.  
  66. /*****************************************************************************\
  67. *  I3DExExportFilter                                                          *
  68. *                                                                             *
  69. *  3D Exporter                                                                *
  70. *                                                                             *
  71. \*****************************************************************************/
  72.  
  73. #undef  INTERFACE
  74. #define INTERFACE   I3DExExportFilter
  75.  
  76. DECLARE_INTERFACE_(I3DExExportFilter, I3DExDataExchanger) {
  77.     // IUnknown methods
  78.   STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
  79.   STDMETHOD_(ULONG, AddRef) (THIS) PURE;
  80.   STDMETHOD_(ULONG, Release) (THIS) PURE;
  81.   
  82.     // I3DExtension methods
  83.     STDMETHOD_(I3DExtension*, Clone) (THIS) PURE;
  84.     STDMETHOD(ShellUtilitiesInit) (THIS_ IShUtilities* shellUtilities) PURE;
  85.  
  86.   // I3DExDataExchanger methods
  87.     STDMETHOD_(ExtensionDataMap*, GetExtensionDataMap) (THIS) PURE;
  88.     STDMETHOD_(void*, GetExtensionDataBuffer) (THIS) PURE;
  89.   STDMETHOD(ExtensionDataChanged) (THIS) PURE;
  90.   STDMETHOD(HandleEvent) (THIS_ ULONG sourceID) PURE;
  91.     STDMETHOD_(short, GetResID) (THIS) PURE;
  92.   
  93.   // I3DExExportFilter methods
  94.     STDMETHOD_(BOOLEAN, Prepare) (THIS_ I3DShScene* scene, I3DShTreeElement* fatherTree) PURE;
  95.     STDMETHOD_(BOOLEAN, WantsOptionDialog) (THIS) PURE;
  96.     STDMETHOD(NeededDiskSpace) (THIS_ char* fullPathName, I3DShScene* scene, I3DShTreeElement* fatherTree, ULONG* diskSpace) PURE;
  97.     STDMETHOD(DoExport) (THIS_ char* fullPathName, I3DShScene* scene, I3DShTreeElement* fatherTree) PURE;
  98.     //-- Preview calls
  99.     STDMETHOD_(BOOLEAN, WantsPreview) (THIS) PURE;
  100.     STDMETHOD(GetPreviewSize) (THIS_ short* sizeh, short* sizev) PURE;
  101.     STDMETHOD(SetPreview) (THIS_ IShRasterOffscreen* preview) PURE;
  102.     };
  103.  
  104.  
  105. #endif
  106.